
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>dafbfs_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>dafbfs_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void dafbfs_c ( SpiceInt handle ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Begin a forward search for arrays in a DAF. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   <a href="../req/daf.html">DAF</a> 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   FILES 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   Variable  I/O  Description 
   --------  ---  -------------------------------------------------- 
   handle     I   Handle of file to be searched. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   handle      is the handle of a DAF on which a forward 
               search is to be conducted. 
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   1)  If the input handle is invalid, the error will be diagnosed 
       by routines called by this routine. 
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   See argument handle. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   The DAF search routines are:
   
      <b>dafbfs_c</b>       Begin forward search.
      daffna         Find next array.

      <a href="dafbbs_c.html">dafbbs_c</a>       Begin backward search.
      <a href="daffpa_c.html">daffpa_c</a>       Find previous array.

      <a href="dafgs_c.html">dafgs_c</a>        Get summary.
      <a href="dafgn_c.html">dafgn_c</a>        Get name.
      dafgh_c        Get handle.

      <a href="dafcs_c.html">dafcs_c</a>        Continue search.

   The main function of these entry points is to allow the
   contents of any DAF to be examined on an array-by-array
   basis.

   Conceptually, the arrays in a DAF form a doubly linked list,
   which can be searched in either of two directions: forward or
   backward. It is possible to search multiple DAFs simultaneously.

   <b>dafbfs_c</b> (begin forward search) and daffna are used to search the
   arrays in a DAF in forward order.  In applications that search a
   single DAF at a time, the normal usage is

      <b>dafbfs_c</b> ( handle );
      <a href="daffna_c.html">daffna_c</a> ( &amp;found );

      while ( found )
      {
         <a href="dafgs_c.html">dafgs_c</a> ( sum  );
         <a href="dafgn_c.html">dafgn_c</a> ( name );
          .
          .

         <a href="daffna_c.html">daffna_c</a> ( &amp;found );
      }


   <a href="dafbbs_c.html">dafbbs_c</a> (begin backward search) and <a href="daffpa_c.html">daffpa_c</a> are used to search the
   arrays in a DAF in backward order.  In applications that search
   a single DAF at a time, the normal usage is

      <a href="dafbbs_c.html">dafbbs_c</a> ( handle );
      <a href="daffpa_c.html">daffpa_c</a> ( &amp;found );

      while ( found )
      {
         <a href="dafgs_c.html">dafgs_c</a> ( sum  );
         <a href="dafgn_c.html">dafgn_c</a> ( name );
          .
          .

         <a href="daffpa_c.html">daffpa_c</a> ( &amp;found );
      }


   In applications that conduct multiple searches simultaneously,
   the above usage must be modified to specify the handle of the
   file to operate on, in any case where the file may not be the
   last one specified by <b>dafbfs_c</b> or <a href="dafbbs_c.html">dafbbs_c</a>.  The routine <a href="dafcs_c.html">dafcs_c</a>
   (DAF, continue search) is used for this purpose.  Below, we
   give an example of an interleaved search of two files specified
   by the handles handl1 and handl2.  The directions of searches
   in different DAFs are independent; here we conduct a forward
   search on one file and a backward search on the other.
   Throughout, we use dafcs to specify which file to operate on,
   before calling <a href="daffna_c.html">daffna_c</a>, <a href="daffpa_c.html">daffpa_c</a>, <a href="dafgs_c.html">dafgs_c</a>, or <a href="dafgn_c.html">dafgn_c</a>.


      <b>dafbfs_c</b> ( handl1 );
      <a href="dafbbs_c.html">dafbbs_c</a> ( handl2 );

      <a href="dafcs_c.html">dafcs_c</a>  ( handl1  );
      <a href="daffna_c.html">daffna_c</a> ( &amp;found1 );

      <a href="dafcs_c.html">dafcs_c</a>  ( handl2  );
      <a href="daffpa_c.html">daffpa_c</a> ( &amp;found2 );

      while ( found1 || found2 )
      {
         if ( found1 )  
         {
            <a href="dafcs_c.html">dafcs_c</a> ( handl1 );
            <a href="dafgs_c.html">dafgs_c</a> ( sum    );
            <a href="dafgn_c.html">dafgn_c</a> ( name   );
             .
             .
            <a href="dafcs_c.html">dafcs_c</a>  ( &amp;handl1 );
            <a href="daffna_c.html">daffna_c</a> ( &amp;found1 );
         }

         if ( found2 )  
         {
            <a href="dafcs_c.html">dafcs_c</a> ( handl2 );
            <a href="dafgs_c.html">dafgs_c</a> ( sum    );
            <a href="dafgn_c.html">dafgn_c</a> ( name   );
             .
             .
            <a href="dafcs_c.html">dafcs_c</a>  ( handl2  );
            <a href="daffpa_c.html">daffpa_c</a> ( &amp;found2 );
         }
      }


   At any time, the latest array found (whether by <a href="daffna_c.html">daffna_c</a> or <a href="daffpa_c.html">daffpa_c</a>)
   is regarded as the &quot;current&quot; array for the file in which the
   array was found.  The last DAF in which a search was started,
   executed, or continued by any of <b>dafbfs_c</b>, <a href="dafbbs_c.html">dafbbs_c</a>, <a href="daffna_c.html">daffna_c</a>, 
   <a href="daffpa_c.html">daffpa_c</a> or <a href="dafcs_c.html">dafcs_c</a> is regarded as the &quot;current&quot; DAF.  The summary 
   and name for the current array in the current DAF can be obtained
   separately, as shown above, by calls to DAFGS (get summary) and
   <a href="dafgn_c.html">dafgn_c</a> (get name).  The handle of the current DAF can also be
   obtained by calling dafgh_c (get handle).

   Once a search has been begun, it may be continued in either
   direction. That is, <a href="daffpa_c.html">daffpa_c</a> may be used to back up during a
   forward search, and <a href="daffna_c.html">daffna_c</a> may be used to advance during a
   backward search.
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   1) See Particulars. 
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   NAIF Document 167.0, &quot;Double Precision Array Files (DAF) 
   Specification and User's Guide&quot; 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman    (JPL) 
   W.L. Taber      (JPL) 
   I.M. Underwood  (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.0, 31-JUL-1999 (NJB) (WLT) (IMU)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   begin daf forward search 
 </PRE>
<h4>Link to routine dafbfs_c source file <a href='../../../src/cspice/dafbfs_c.c'>dafbfs_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:20 2010</pre>

</body>
</html>

